
package com.insigma.business.qrcode.soldier.dao;


import com.insigma.business.qrcode.common.annotation.Crypt;
import com.insigma.business.qrcode.soldier.dto.CareSoldierEmploymentAssistanceBSearcher;
import com.insigma.business.qrcode.soldier.entity.CareSoldierEmploymentAssistanceDO;
import com.insigma.business.qrcode.soldier.entity.DataStatsCDO;
import org.apache.ibatis.annotations.Param;

import java.util.List;


public interface CareSoldierEmploymentAssistanceDao {

    
    List<CareSoldierEmploymentAssistanceDO> search(final CareSoldierEmploymentAssistanceBSearcher innerSearcher);

    
    CareSoldierEmploymentAssistanceDO get(final String id);

    
    Integer insert(final CareSoldierEmploymentAssistanceDO careSoldierEmploymentAssistanceDO);

    
    Integer update(final CareSoldierEmploymentAssistanceDO careSoldierEmploymentAssistanceDO);

    
    Integer delete(@Param("id") final String id,
                   @Param("modifierType") final String modifierType,
                   @Param("modifierId") final String modifierId);
    CareSoldierEmploymentAssistanceDO getByFormInstId(String formInstId);

    @Crypt(encryptParamIndex = {0})
    List<CareSoldierEmploymentAssistanceDO> listByIdCardNoAndDate(@Param("idCardNo")String idCardNo,@Param("todayLike")String todayLike);

    Integer countByAreaCode(String areaLike);

    List<DataStatsCDO> queryAreaMap(@Param("areaLike")String areaLike, @Param("nextLevel")int nextLevel, @Param("levelLength")int levelLength);

    @Crypt(encryptParamIndex = {0})
    CareSoldierEmploymentAssistanceDO getNewestByIdCardNo(String idCardNo);

    Integer countByAreaCodeAndTime(@Param("adminAreaCode")String adminAreaCode, @Param("time")String time);
}
